File systems periodically have a need to write data to memory, e.g., flash devices, in small granularities, e.g., something less than a nibble of data. These write granularities are typically too small for existing flash devices to efficiently support error correction codes. Therefore, a popular alternative is to use single bit per cell (SBC) encoding for small writes and to use error correction codes to protect multiple bits per cell (MBC) encoding for large writes. However, omitting error correction on the SBC regions of the flash device compromises its reliability.